/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Thiago Lippel & Amauri Bechtold
 */
class ListaPesquisaLinear implements InterfaceExercicio5{
    
    int tamanho = 100000;
    Veiculo[] veiculo = new Veiculo[tamanho];

    @Override
    public void addAll(Veiculo[] vetor) {
        for (int i = 0; i < vetor.length; i++) {
            veiculo[i] = vetor[i];
        }
    }

    @Override
    public Veiculo[] localizaMaisAntigo() {        
        int menorAno = 99999;
        int j = 0;
        Veiculo[] veiculosMaisAntigos = new Veiculo[10000];
        
        for (int i = 0; i < veiculo.length; i++) {
            if (veiculo[i].getAno() < menorAno){
                menorAno = veiculo[i].getAno();
            }  
        }
        for (int i = 0; i < veiculo.length; i++) {
            if(veiculo[i].getAno() == menorAno){
                j++;
            }
        }
        
        Veiculo[] retorno = new Veiculo[j];
        
        j = 0;
        
        for (int i = 0; i < veiculo.length; i++) {
            if(veiculo[i].getAno() == menorAno){
                retorno[j] = veiculo[i];
                j++;
            }
        }
        
        return retorno;
    }

    @Override
    public Veiculo getMenorPlaca() {
        
        Veiculo veiculoMenorPlaca = new Veiculo("ZZZ-9999", null, tamanho, null);
        
        for (int i = 0; i < veiculo.length; i++) {
            if( ((Veiculo) veiculo[i]).compareTo(veiculoMenorPlaca) < 0 ){
                veiculoMenorPlaca = veiculo[i];
            } 
        }
        return veiculoMenorPlaca;
    }

    @Override
    public Veiculo getMaiorPlaca() {
        Veiculo veiculoMenorPlaca = new Veiculo("AAA-0000", null, tamanho, null);
        for (int i = 0; i < veiculo.length; i++) {
            if(veiculo[i].compareTo(veiculoMenorPlaca) > 0 ){
                veiculoMenorPlaca = veiculo[i];
            } 
        }
        return veiculoMenorPlaca;
    }

    @Override
    public Veiculo pesquisa(String placa) {
        int tamanho = veiculo.length;
        for (int i = 0; i < tamanho; i++) {
            if(veiculo[i].getPlaca().compareTo(placa) == 0){
                return veiculo[i];
            }                
        }
        return null;
    }
    
}
